//search模块的小仓库

import { reqGetSearchInfo } from "@/api"

const actions = {
    /* 获取search模块数据 */
   async getSearchList({commit},params={}){
    /* 这个reqSearchInfo函数调用获取服务器数据的时候必须传递一个参数(空对象) */
    /* params形参:是当用户派发actions的时候:第二个参数传递过来的 至少是一个空对象  也可以指定params={} 使它当没有传递数据的时候默认是一个空对象 */
        const result=await reqGetSearchInfo(params)
        if(result.code==200){
            commit('GETSEARCHLIST',result.data)
        }
    }
}

const mutations = {
    GETSEARCHLIST(state,searchList){
        state.searchList=searchList
    }
}
/* 计算属性 gitters为简化仓库数据而生 */
const getters = {
    /* 当前形参state 是当前仓库的state */
    goodsList(state){
        /* 这样写是有问题的  假如请求失败 我们仓库中的state.search是一个空对象 所以我们制定或[]空数组  如果服务器数据回来了 没问题是一个数组 加入请求失败没有数据 那么就会返回一个空数组 */
        return state.searchList.goodsList||[]
    },
    tradmarkList(state){
        return state.searchList.trademarkList||[]
    },
    attrsList(state){
        return state.searchList.attrsList||[]
    }
}

const state = {
    searchList:{},
}


/* 把它们向外暴露 */
export default {
    mutations,
    actions,
    getters,
    state
}